package cn.sixmillions.yuqueblog.entity;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @description: 知识库目录实体类
 * @author: sixmillions
 * @since: 2021/12/12
 **/
@Data
@Accessors(chain = true)
public class Toc implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 节点id
     */
    private Long id;

    /**
     * 节点类型
     */
    private String type;

    /**
     * 节点名称
     */
    private String title;

    /**
     * 节点唯一 id
     */
    private String uuid;

    /**
     * 链接或文档 slug
     */
    private String url;

    /**
     * 上一个节点 uuid
     */
    @JSONField(name = "prev_uuid")
    private String prevUuid;

    /**
     * 下一个节点 uuid
     */
    @JSONField(name = "sibling_uuid")
    private String siblingUuid;

    /**
     * 第一个子节点 uuid
     */
    @JSONField(name = "child_uuid")
    private String childUuid;

    /**
     * 父亲节点 uuid
     */
    @JSONField(name = "parent_uuid")
    private String parentUuid;

    /**
     * 仅文档类型节点，doc id
     */
    @JSONField(name = "doc_id")
    private Long docId;

    /**
     * 节点层级
     */
    private Integer level;

    /**
     * 链接是否在新窗口打开，0 在当前页面打开，1 在新窗口打开
     */
    @JSONField(name = "open_window")
    private Integer openWindow;

    /**
     * 节点是否可见，0 不可见，1 可见
     */
    private Integer visible;

    /**
     * 节点深度
     */
    private Integer depth;


    private String slug;
}
